package com.itheima.bigevent.validation;

import com.itheima.bigevent.annotation.State;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

/**
 * State校验类，提供对State注解的校验规则
 * 泛型：T：给哪个注解提供校验规则，A：校验的数据类型
 */
public class StateValidation implements ConstraintValidator<State, String> {
    /**
     * 提供校验规则
     * @param value 要检验的数据
     * @param constraintValidatorContext
     * @return 校验不通过返回false，校验通过返回true
     */
    @Override
    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
        if (value == null) {
            // 校验不通过
            return false;
        }

        if (value.equals("已发布") || value.equals("草稿")) {
            // 校验通过
            return true;
        }else {
            // 校验不通过
            return false;
        }
    }
}
